/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Blackjack;
import java.util.Vector;
import prop.Jugador;
/**
 *
 * @author Michal
 */
public class JugadorBkjk extends Jugador {
    
    protected Vector<Jugada> jugadas = new Vector<Jugada>(0);
    protected int jugadaEnJuego;
    protected int jugadasActivas;
    //Cantidad apostada en el seguro, 0 es que no ha apostado.
    protected int seguro;
    protected boolean maquina;

    public JugadorBkjk() {

    }

    public JugadorBkjk(boolean m) {
        for (int i = 0; i < 4; i++) jugadas.add(new Jugada());
        jugadaEnJuego = 0;
        jugadasActivas = 1;
        maquina = m;
    }

    public int getSeguro() {
        return seguro;
    }

    public void setSeguro(int dinero) {
        seguro = dinero;
    }

    public int getJugadaEnJuego() {
        return jugadaEnJuego;
    }

    public int getJugadasActivas() {
        return jugadasActivas;
    }
    
    public void resetJugadas() {
        jugadasActivas = 1;
        jugadaEnJuego = 0;
    }

    public Jugada getJugadaActual() {
        return getJugada(jugadaEnJuego);
    }
    public void pasarJugada() {
        if (jugadaEnJuego < jugadasActivas) jugadaEnJuego += 1;
    }
    public Jugada siguienteJugada() {
        if (jugadaEnJuego < jugadasActivas - 1) jugadaEnJuego += 1;
        return getJugada(jugadaEnJuego);
    }

    public Jugada empezarOtraJugada() {
        if (jugadasActivas < 4) {
            jugadasActivas += 1;
            getJugada(jugadasActivas - 1).setApuesta(getJugadaActual().getApuesta());
        }
        return getJugada(jugadasActivas - 1);
    }

    public Jugada getJugada(int i) {
        return jugadas.get(i);
    }

    public boolean haTerminado() {
        return jugadaEnJuego == jugadasActivas;
    }

    public void restarDinero(int n) {
        if (dinero >= n) dinero -= n;
    }

    public boolean esMaquina() {
        return maquina;
    }
}
